import {exchangeKV} from '../../utils/constant';

export type LANG =
	| 'af'
	| 'sq'
	| 'am'
	| 'ar'
	| 'hy'
	| 'az'
	| 'eu'
	| 'be'
	| 'bn'
	| 'bs'
	| 'bg'
	| 'my'
	| 'ca'
	| 'ny'
	| 'zh'
	| 'co'
	| 'hr'
	| 'cs'
	| 'da'
	| 'nl'
	| 'en'
	| 'eo'
	| 'et'
	| 'fi'
	| 'fr'
	| 'gl'
	| 'ka'
	| 'de'
	| 'el'
	| 'gu'
	| 'ht'
	| 'ha'
	| 'he'
	| 'hi'
	| 'hu'
	| 'id'
	| 'ga'
	| 'ig'
	| 'is'
	| 'it'
	| 'ja'
	| 'jv'
	| 'kn'
	| 'kk'
	| 'km'
	| 'rw'
	| 'ky'
	| 'ko'
	| 'ku'
	| 'la'
	| 'lb'
	| 'lo'
	| 'lt'
	| 'lv'
	| 'mk'
	| 'mg'
	| 'ms'
	| 'ml'
	| 'mt'
	| 'mi'
	| 'mr'
	| 'mn'
	| 'ne'
	| 'nb'
	| 'no'
	| 'or'
	| 'pa'
	| 'fa'
	| 'pl'
	| 'ps'
	| 'pt'
	| 'ro'
	| 'ru'
	| 'sd'
	| 'sm'
	| 'sr'
	| 'gd'
	| 'sn'
	| 'si'
	| 'sk'
	| 'sl'
	| 'so'
	| 'st'
	| 'es'
	| 'su'
	| 'sw'
	| 'sv'
	| 'ta'
	| 'te'
	| 'tg'
	| 'th'
	| 'tk'
	| 'tl'
	| 'tr'
	| 'tt'
	| 'ug'
	| 'uk'
	| 'ur'
	| 'uz'
	| 'vi'
	| 'cy'
	| 'fy'
	| 'xh'
	| 'yi'
	| 'yo'
	| 'zu';
export enum LANGUAGE {
	南非语 = 'af',
	阿尔巴尼亚语 = 'sq',
	阿姆哈拉语 = 'am',
	阿拉伯语 = 'ar',
	亚美尼亚语 = 'hy',
	阿塞拜疆语 = 'az',
	巴斯克语 = 'eu',
	白俄罗斯语 = 'be',
	孟加拉语 = 'bn',
	波斯尼亚语 = 'bs',
	保加利亚语 = 'bg',
	缅甸语 = 'my',
	加泰隆语 = 'ca',
	齐切瓦语 = 'ny',
	汉语 = 'zh',
	科西嘉语 = 'co',
	克罗地亚语 = 'hr',
	捷克语 = 'cs',
	丹麦语 = 'da',
	荷兰语 = 'nl',
	英语 = 'en',
	世界语 = 'eo',
	爱沙尼亚语 = 'et',
	芬兰语 = 'fi',
	法语 = 'fr',
	加利西亚语 = 'gl',
	格鲁吉亚语 = 'ka',
	德语 = 'de',
	希腊语 = 'el',
	古吉拉特语 = 'gu',
	海地克里奥尔语 = 'ht',
	豪萨语 = 'ha',
	希伯来语 = 'he',
	印地语 = 'hi',
	匈牙利语 = 'hu',
	印尼语 = 'id',
	爱尔兰语 = 'ga',
	伊博语 = 'ig',
	冰岛语 = 'is',
	意大利语 = 'it',
	日语 = 'ja',
	爪哇语 = 'jv',
	康纳达语 = 'kn',
	哈萨克语 = 'kk',
	高棉语 = 'km',
	卢旺达语 = 'rw',
	柯尔克孜语 = 'ky',
	韩语 = 'ko',
	库尔德语 = 'ku',
	拉丁语 = 'la',
	卢森堡语 = 'lb',
	老挝语 = 'lo',
	立陶宛语 = 'lt',
	拉脱维亚语 = 'lv',
	马其顿语 = 'mk',
	马拉加斯语 = 'mg',
	马来语 = 'ms',
	马拉亚拉姆语 = 'ml',
	马耳他语 = 'mt',
	毛利语 = 'mi',
	马拉提语 = 'mr',
	蒙古语 = 'mn',
	尼泊尔语 = 'ne',
	书面挪威语 = 'nb',
	挪威语 = 'no',
	奥里亚语 = 'or',
	旁遮普语 = 'pa',
	波斯语 = 'fa',
	波兰语 = 'pl',
	普什图语 = 'ps',
	葡萄牙语 = 'pt',
	罗马尼亚语 = 'ro',
	俄语 = 'ru',
	信德语 = 'sd',
	萨摩亚语 = 'sm',
	塞尔维亚语 = 'sr',
	苏格兰盖尔语 = 'gd',
	修纳语 = 'sn',
	僧伽罗语 = 'si',
	斯洛伐克语 = 'sk',
	斯洛文尼亚语 = 'sl',
	索马里语 = 'so',
	塞索托语 = 'st',
	西班牙语 = 'es',
	巽他语 = 'su',
	斯瓦希里语 = 'sw',
	瑞典语 = 'sv',
	泰米尔语 = 'ta',
	泰卢固语 = 'te',
	塔吉克斯坦语 = 'tg',
	泰语 = 'th',
	土库曼斯坦语 = 'tk',
	他加禄语 = 'tl',
	土耳其语 = 'tr',
	鞑靼语 = 'tt',
	维吾尔语 = 'ug',
	乌克兰语 = 'uk',
	乌尔都语 = 'ur',
	乌兹别克斯坦语 = 'uz',
	越南语 = 'vi',
	威尔士语 = 'cy',
	弗里斯兰语 = 'fy',
	科萨语 = 'xh',
	意第绪语 = 'yi',
	约鲁巴语 = 'yo',
	祖鲁语 = 'zu',
}
export const lang_abbr_zhName_map: {[lang in LANG]: string} = exchangeKV(LANGUAGE) as any;
export const lang_abbr_enName_map: {[lang in LANG]: string} = {
	af: 'Afrikaans',
	sq: 'Albanian',
	am: 'Amharic',
	ar: 'Arabic',
	hy: 'Armenian',
	az: 'Azerbaijani',
	eu: 'Basque',
	be: 'Belarusian',
	bn: 'Bengali',
	bs: 'Bosnian',
	bg: 'Bulgarian',
	my: 'Burmese',
	ca: 'Catalan, Valencian',
	ny: 'Chichewa, Chewa, Nyanja',
	zh: 'Chinese',
	co: 'Corsican',
	hr: 'Croatian',
	cs: 'Czech',
	da: 'Danish',
	nl: 'Dutch, Flemish',
	en: 'English',
	eo: 'Esperanto',
	et: 'Estonian',
	fi: 'Finnish',
	fr: 'French',
	gl: 'Galician',
	ka: 'Georgian',
	de: 'German',
	el: 'Greek',
	gu: 'Gujarati',
	ht: 'Haitian, Haitian Creole',
	ha: 'Hausa',
	he: 'Hebrew',
	hi: 'Hindi',
	hu: 'Hungarian',
	id: 'Indonesian',
	ga: 'Irish',
	ig: 'Igbo',
	is: 'Icelandic',
	it: 'Italian',
	ja: 'Japanese',
	jv: 'Javanese',
	kn: 'Kannada',
	kk: 'Kazakh',
	km: 'Central Khmer',
	rw: 'Kinyarwanda',
	ky: 'Kirghiz, Kyrgyz',
	ko: 'Korean',
	ku: 'Kurdish',
	la: 'Latin',
	lb: 'Luxembourgish, Letzeburgesch',
	lo: 'Lao',
	lt: 'Lithuanian',
	lv: 'Latvian',
	mk: 'Macedonian',
	mg: 'Malagasy',
	ms: 'Malay',
	ml: 'Malayalam',
	mt: 'Maltese',
	mi: 'Maori',
	mr: 'Marathi',
	mn: 'Mongolian',
	ne: 'Nepali',
	nb: 'Norwegian Bokmål',
	no: 'Norwegian',
	or: 'Oriya',
	pa: 'Punjabi, Panjabi',
	fa: 'Persian',
	pl: 'Polish',
	ps: 'Pashto, Pushto',
	pt: 'Portuguese',
	ro: 'Romanian, Moldavian, Moldovan',
	ru: 'Russian',
	sd: 'Sindhi',
	sm: 'Samoan',
	sr: 'Serbian',
	gd: 'Scottish Gaelic',
	sn: 'Shona',
	si: 'Sinhala, Sinhalese',
	sk: 'Slovak',
	sl: 'Slovenian',
	so: 'Somali',
	st: 'Southern Sotho',
	es: 'Spanish, Castilian',
	su: 'Sundanese',
	sw: 'Swahili',
	sv: 'Swedish',
	ta: 'Tamil',
	te: 'Telugu',
	tg: 'Tajik',
	th: 'Thai',
	tk: 'Turkmen',
	tl: 'Tagalog',
	tr: 'Turkish',
	tt: 'Tatar',
	ug: 'Uighur, Uyghur',
	uk: 'Ukrainian',
	ur: 'Urdu',
	uz: 'Uzbek',
	vi: 'Vietnamese',
	cy: 'Welsh',
	fy: 'West Frisian',
	xh: 'Xhosa',
	yi: 'Yiddish',
	yo: 'Yoruba',
	zu: 'Zulu',
};
export const lang_abbr_localName_map: {[lang in LANG]: string} = {
	af: 'Afrikaans',
	sq: 'Shqip',
	am: 'አማርኛ',
	ar: 'العربية',
	hy: 'Հայերեն, Հայերէն',
	az: 'azərbaycan dili',
	eu: 'euskara, euskera',
	be: 'беларуская мова',
	bn: 'বাংলা',
	bs: 'bosanski jezik',
	bg: 'български език',
	my: 'ဗမာစာ',
	ca: 'català, valencià',
	ny: 'chiCheŵa, chinyanja',
	zh: '漢語、汉语、华语',
	co: 'corsu, lingua corsa',
	hr: 'hrvatski jezik',
	cs: 'čeština, český jazyk',
	da: 'dansk',
	nl: 'Nederlands, Vlaams',
	en: 'English',
	eo: 'Esperanto',
	et: 'eesti, eesti keel',
	fi: 'suomi, suomen kieli',
	fr: 'français, langue française',
	gl: 'Galego',
	ka: 'ქართული',
	de: 'Deutsch',
	el: 'ελληνικά',
	gu: 'ગુજરાતી',
	ht: 'Kreyòl ayisyen',
	ha: '(Hausa) هَوُسَ',
	he: 'עברית',
	hi: 'हिन्दी, हिंदी',
	hu: 'magyar',
	id: 'Bahasa Indonesia',
	ga: 'Gaeilge',
	ig: 'Asụsụ Igbo',
	is: 'Íslenska',
	it: 'Italiano',
	ja: '日本語／にほんご',
	jv: 'ꦧꦱꦗꦮ, Basa Jawa',
	kn: 'ಕನ್ನಡ',
	kk: 'қазақ тілі',
	km: 'ខ្មែរ, ខេមរភាសា, ភាសាខ្មែរ',
	rw: 'Ikinyarwanda',
	ky: 'Кыргызча, Кыргыз тили',
	ko: '한국어',
	ku: 'Kurdî',
	la: 'latine, lingua latina',
	lb: 'Lëtzebuergesch',
	lo: 'ພາສາລາວ',
	lt: 'lietuvių kalba',
	lv: 'latviešu valoda',
	mk: 'македонски јазик',
	mg: 'fiteny malagasy',
	ms: 'Bahasa Melayu',
	ml: 'മലയാളം',
	mt: 'Malti',
	mi: 'te reo Māori',
	mr: 'मराठी',
	mn: 'Монгол хэл',
	ne: 'नेपाली',
	nb: 'Norsk Bokmål',
	no: 'Norsk',
	or: 'ଓଡ଼ିଆ',
	pa: 'ਪੰਜਾਬੀ',
	fa: 'فارسی',
	pl: 'język polski, polszczyzna',
	ps: 'پښتو',
	pt: 'Português',
	ro: 'Română',
	ru: 'русский',
	sd: 'سنڌي',
	sm: "gagana fa'a Samoa",
	sr: 'српски језик',
	gd: 'Gàidhlig',
	sn: 'chiShona',
	si: 'සිංහල',
	sk: 'Slovenčina, Slovenský Jazyk',
	sl: 'Slovenski Jezik, Slovenščina',
	so: 'Soomaaliga, af Soomaali',
	st: 'Sesotho',
	es: 'Español',
	su: 'Basa Sunda',
	sw: 'Kiswahili',
	sv: 'Svenska',
	ta: 'தமிழ்',
	te: 'తెలుగు',
	tg: 'Тәжік',
	th: 'ไทย',
	tk: 'Türkmen, Түркмен',
	tl: 'Wikang Tagalog',
	tr: 'Türkçe',
	tt: 'татар теле',
	ug: 'ئۇيغۇر',
	uk: 'Українська',
	ur: 'اردو',
	uz: "O'zbek",
	vi: 'Tiếng Việt',
	cy: 'Cymraeg',
	fy: 'Frysk',
	xh: 'isiXhosa',
	yi: 'יידיש',
	yo: 'Yorùbá',
	zu: 'isiZulu',
};
